\gdef\thisproblemauthor{Сергей Копелиович}
\gdef\thisproblemdeveloper{Сергей Копелиович}

\begin{problem}{Кратчайший путь}
{stdin}{stdout}
{1 секунда}{256 мебибайт}

Надеюсь, все вы умеете искать в неориентированном графе кратчайший путь.
В этой задаче вам предлагается свое умение продемонстрировать.

Вам дан ориентированный взвешенный граф. Веса ребер --- целые числа от 1000 до 2000.
Нужно несколько раз (не более 1000) ответить на следующий запрос: длина кратчайшего пути из
некоторой вершины $s$ в некоторую вершину $t$.

\InputFile

На первой строке числа $N$ и $M$ ($1 \le N \le 10^5$, $0 \le M \le 2 \cdot 10^5$) ---
количество вершин и ребер нашего графа, соответственно.
Вершины нумеруются целыми числами от $1$ до $N$.
Далее $M$ строк содержат информацию о ребрах графа. Каждое ребро задается тремя числами ---
номер начала, номер конца и вес. Все веса --- целые числа от 1000 до 2000.
В графе могут быть и петли, и кратные ребра.
Следующая строка содержит число $K$ ($1 \le K \le 10^3$) --- количество запросов.
В следующих $K$ строках задаются запросы. Каждый запрос описывается двумя числами ---
из какой вершины, и в какую должен вести путь.

\OutputFile

Для каждого запроса выведите на отдельной строке целое число --- длину кратчайшего пути.
Если кратчайшего пути не существует следует вывести $-1$.

\Example

\begin{example}
\exmp{
5 5
1 2 2000
1 3 1000
1 4 1200
2 3 1500
3 4 1500
4
1 5
4 2
3 3
1 2
}{
-1
3000
0
2000
}%
\end{example}

\Note

Путем в графе называется такая последовательность ребер, что конец $i$-го совпадает с началом $i+1$-го.
Длиной пути называется суммарный вес ребер. Путь является кратчайшим, если его длина минимальна.


\end{problem}

%
% ЛКШ.2012.Июль. Олимпиада A-B.
%
% Условие: Сергей Копелиович
% Тесты: Сергей Копелиович 
% Решения: Сергей Копелиович
%

